Many computer-implemented displays consist of two-dimensional arrays of individual picture elements, or pixels. To form an image, a rasterizer selectively illuminates these pixels. Because the individual pixels are so small, the display appears, to a human viewer, to be a continuous rendering of an image. This illusion is particularly effective for complex images of continuous tones such as photographs.
For simple geometric shapes, however, the pixelated nature of the display can become apparent to the human viewer. For example, if the rasterizer is instructed to draw a straight line, there is no guarantee that the points on that desired line will coincide with the pixels that are available for rendering the line. As a result, the desired line is often rendered as a rasterized line of pixels that are close to, but not necessarily coincident with, the desired line. This results in rasterized lines that have a jagged or echeloned appearance.
In the course of rendering an image, a large number of straight lines and line segments are often drawn. As a result, given a desired line, the rasterizer must frequently select those pixels that will minimize the jagged appearance of the resulting rasterized line. A straightforward mathematical approach is to use the equation of the desired line and the coordinates of the available pixels to minimize a least-square error across all points on the line. While such an approach has the advantage of globally optimizing the selection of pixels on the rasterized line, the large number of floating-point operations required causes this approach to be prohibitively time-consuming.
To meet constraints on speed, rasterizers typically implement rasterization methods that avoid time-consuming floating-point operations. Among the methods that meet the foregoing constraints is that taught in Bresenham, J. E., Algorithm for Computer Control of a Digital Plotter, IBM System Journal, Vol. 4, pp.25–30, 1965, the contents of which are herein incorporated by reference. Using only integer operations, the Bresenham algorithm reduces the choice of what pixel to select to an examination of the sign of a discriminant.
Even faster rasterization methods exist that select not one but multiple points on the rasterized line based on the outcome of a single decision. There also exist a variety of rasterization methods aimed at rendering conic sections and quadric sections on a pixelated display.
However, the foregoing rasterization methods all rely on the assumption that the array of pixels is arranged in a uniform rectangular grid that can readily be modeled by a Cartesian coordinate system. This was a reasonable assumption given the prevalence of two-dimensional displays such as computer monitors and printers at the time these algorithms were developed.
Since then, however, volumetric, or three-dimensional displays have been developed. Such displays permit the generation, absorption, or scattering of visible radiation from a set of localized and specified regions within a volume. Examples of such systems are taught in Hirsch U.S. Pat. No. 2,967,905, Ketchpel U.S. Pat. No. 3,140,415, Tsao U.S. Pat. No. 5,754,147, and on pages 66–67 of Aviation Week, Oct. 31, 1960.